Method system software and signal for automatic generation of macro commands

ABSTRACT

A method, signal, system, software, and user interface for selecting command sequences and saving the sequences as a macro. The invention includes sourcing input devices and graphical user interfaces for both input commands and referencing macro elements. Macro elements consist of macro keys such as hard keys and soft keys. The command sequence may be automatically detected, saved, and evaluated for both economy and threshold.

FIELD OF THE INVENTION

The present invention generally relates generally to commands and, moreparticularly, to macros used to perform commands

BACKGROUND OF THE INVENTION

On the forefront in the advancement of the home entertainment industryis the convergence of home entertainment components into one system.PCs, TVs, DVDs, CD players, EPGs (Electronic Program Guides), tuners,etc., are being integrated to form a single entertainment system,namely, convergence systems. However, as these components are integratedinto one system, standardization of user interfaces among all componentsis progressively challenged.

Currently, users may employ a plurality of input devices to interfacewith convergence systems. For example, remote control devices typical ofa television or VCR have been developed to be used with convergencesystems. Additionally, user interfaces such as graphical userinterfaces, are currently used to aid in assisting integration ofcomponents for convergence systems. For instance, a typical feature ofboth graphical user interfaces and remote control devices used inconvergence systems is the ability to record command sequences and storethem in a macro that is referenced by a macro element such as a macrokey. A macro element or key allows a user to access a command sequencethat is stored in the memory of the system as a macro. Typical macroelements are soft keys, such as icons, macro buttons, etc., accessiblethrough a graphical user interface and hard keys, such as the buttons ona remote control device, keys on a keyboard, etc.

One example of a macro would be storing a sequence of commands such asopening a document, copying a portion of the text within the document,pasting the copied portion of text into another document, and saving thenew document containing the pasted text. A user can create a macro toperform this sequence of functions and save the macro on the systemwhere it may be accessed through a macro element such as a button oricon within the graphical user interface. Therefore, users can createmultiple macros to increase efficiency and reduce mundane tasks.

As a further example, suppose a user wanted to create a macro using auniversal remote control device for TVs, VCRs, stereos, etc. Currenttechnology allows a user to select a sequence of commands using theremote control device and store the sequence of commands in a macro thatis accessed by a macro key on the remote control device. For instance, auser may perform a sequence of commands to set up a VCR for recording aprogram that may include the steps of turning on the VCR, selecting amenu, and selecting a record function. Storing this sequence of eventsin a macro, and accessing the macro through the use of a macro key onthe remote control device, simplifies the steps involved in programminga VCR which further allows a user to record programs more frequently dueto the ease of programming.

Currently, convergence systems have the capability to autonomouslyrecord functions i.e. record macros using graphical user interfaces,record macros using remote control devices, etc., but these systems fallshort of recording a sequence of commands initiated from any sourcewithin the convergence system. Further, current systems do not allowmacros to be accessed from any usable macro element source (i.e., remotecontrols, devices, user interfaces, keyboards, etc.). For example, theuser may wish to use a remote control device to create the VCR recordingmacro and macro button mentioned above, but would further want to selectcommands located within a graphical user interface containing anelectronic program guide. Current systems do not allow users to recordmacros for remote control devices using command or functions native tographical user interfaces. Additionally, current systems are unable toassign command sequences, regardless of the source, to any macro element(i.e., hard keys, soft keys, etc.) accessible by the system.

Therefore, what is needed is a method, system, user interface, software,and signal to allow sequences of commands, from remote controls andother sources, to be assigned to any user interface element.

SUMMARY OF THE INVENTION

Accordingly, the present invention provides a method, in a system usingcommands, the method comprising the steps of selecting a sequence of atleast one remote control command and at least one user interfacecommand, and assigning the sequence of commands to at least one userinterface element.

The present invention further provides a convergence system comprisingat least one processor, memory operably associated with the processor,at least one remote control device for selecting at least one remotecontrol command, at least one user interface configured to input atleast one user interface command, and a program of instructions. Theprogram of instructions configured to be executed by the processor andstored in the memory, the program including instructions configured toselect a sequence of at least one remote control command and at leastone user interface command, and to assign the sequence of commands to atleast one user interface element.

The present invention further provides a graphical user interface (GUI)comprising means for selecting a sequence of at least one remote controlcommand and at least one user interface command, and means for assigningthe sequence of commands to at least one user interface element.

The present invention further provides a computer readable mediumtangibly embodying a program of instructions, the program ofinstructions implementing the method of selecting a sequence of at leastone remote control command and at least one user interface command, andassigning the sequence of commands to at least one user interfaceelement.

The present invention further provides a signal embodied in apropagation medium, the signal comprising at least one instructionconfigured to select a sequence of at least one remote control commandand at least one user interface command, and at least one instructionconfigured to assign the sequence of commands to at least one userinterface element.

It is an object of the present invention to assign macros to softwareand hardware macro elements regardless of the source of macros.

It is another object of the present invention to allow users to selectmacro commands using all user interfaces.

It is another object of the present invention to create macrosautomatically.

It is a further object of the present invention to monitor macrogeneration efficiency.

It is a further object of the present invention to monitor thresholdsfor macro definition.

One advantage the present invention provides to users is the capabilityto assign a macro containing a sequence of commands to software orhardware macro elements.

A further advantage the present invention provides to users is theability to assign macro elements to a sequence of macro commandsregardless of the macro command source.

Another advantage the present invention provides to users is the abilityto automatically record a macro.

A further advantage the present invention provides to users is theability to use macro commands to create additional macros.

A further advantage the present invention provides to users is theability to monitor macro generation efficiency.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects, advantages, features and characteristics of the presentinvention, as well as methods, operation and functions of relatedelements of structure, and the combination of parts and economies ofmanufacture, will become apparent upon consideration of the followingdescription and claims with reference to the accompanying drawings, allof which form a part of this specification, wherein like referencenumerals designate corresponding parts in the various figures, andwherein:

FIG. 1 illustrates a detailed block diagram showing a computer systemaccording to a preferred embodiment of the present invention;

FIG. 2 illustrates a detailed block diagram showing a convergence systemaccording to the preferred embodiment of the present invention;

FIG. 3 shows the desktop of a computer operating system user interfacetypically employed on a computer system as in FIGS. 1 and 2 according tothe preferred embodiment of the present invention;

FIG. 4 is an illustration of a remote control device and graphical userinterface according to the preferred embodiment of the presentinvention;

FIG. 5 is an illustration of a method according to a preferredembodiment of the present invention; and

FIG. 6 is an illustration of an alternative method according to apreferred embodiment of the present invention.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE INVENTION

In the following detailed description of the preferred embodiments,reference is made to the accompanying drawings that form a part hereof,and in which is shown by way of illustration, specific preferredembodiments in which the invention may be practiced. These embodimentsare described in sufficient detail to enable those skilled in the art topractice the invention, and it is understood that other embodiments maybe utilized and that logical, mechanical and/or electrical changes maybe made without departing from the spirit or scope of the invention. Toavoid detail not necessary to enable those skilled in the art topractice the invention, the description may omit certain informationknown to those skilled in the art. The following detailed descriptionis, therefore, not to be taken in a limiting sense, and the scope of thepresent invention is defined only by the appended claims.

A representative hardware environment for practicing the presentinvention is depicted in FIG. 1 which illustrates a typical hardwareconfiguration of an information handling system 100 in accordance withthe present invention, having a central processing unit (CPU) 105 suchas a conventional microprocessor and a number of other unitsinterconnected via at least one system bus 110. Information handlingsystem 100 may be, for example, a portable or desktop Gateway computeror a Gateway Destination system (Gateway and Destination are trademarksof Gateway 2000, Inc.). Information handling system 100 shown in FIG. 1includes random access memory (RAM) 115, read-only memory (ROM) 120, aninput/output (I/O) adapter 125 for connecting peripheral devices such asdisk units 130 and tape drives 135 to system bus 110, a user interfaceadapter 140 for connecting a keyboard 145, a mouse 150, a speaker 155, amicrophone 160, and/or other user interface devices to system bus 110, acommunications adapter 165 for connecting information handling system100 to an information network such as the Internet, and a displayadapter 170 for connecting system bus 110 to a display device such as amonitor 175. The mouse 150 typically has a first button and a secondbutton, 180 and 185 respectively, and is used to control a cursor (notshown) displayed on the monitor 175.

Referring next to FIG.2, a home entertainment or convergence system suchas the Gateway Destination System mentioned above is shown generally at200. Reference numerals or letters in FIG. 2 which are like, similar, oridentical to the reference numerals or letters of FIG. 1 indicate like,similar, or identical components or features. External to convergencesystem 200 is satellite 203 which in one preferred embodiment is a HS601model operated by Hughes at a 101 degree west longitude geosynchronousorbital location and which transmits signals comprising 150 channels ofmodulated digital video, audio, and data at a frequency of about 12 GHz.The satellite signals are received by home entertainment system 200through antenna 206 containing a low noise block converter amplifier.Antenna 206 is preferably about 18 inches in diameter and receives left-and right-hand circularly polarized signals between 12.2 and 12.7 GHz.Antenna 206 provides a “downconverted-spectrum” signal between 950 and1450 MHz via a coaxial cable or other suitable communication medium 209to information handling system 100 such as a personal computer or othersystem or circuitry capable of processing data. Suitable antennas 206are already being manufactured and sold by RCA Corporation via directsales and through numerous major retail chains such as Radio Shack.

System 100 contains circuitry and software to further process signalsfrom the antenna, generally demodulating and decoding the signal toproduce a VGA (video graphics adapter) signal. The VGA signal isprovided via a standard VGA-compatible monitor cable to drive largescreen data quality monitor 175 which is suitable for viewing in afamily room or entertainment room environment. System 100 provides foruser input by means of remote controls 215 and 145. Remote control 215comprises a hand-held size device with standard television controls anda numeric keypad and, in one embodiment, VCR (video cassette recorder)controls and a pointing device. It provides RF (radio frequency) or IR(infrared) control signals received by system 100. Remote control 145 isa full function personal computer keyboard with additional standardtelevision and VCR controls and a pointing device which is preferably inthe form of a touchpad, and it also provides RF control signals tosystem 100. RF control signals were selected over IR control signals orhardwired connections in one embodiment due to its performance in a homeentertainment environment. RF control allows the system to be in adifferent room from monitor 175, or if in the same room, a clear line ofsight is not required. In another embodiment, IR control signals wereselected because the standard circuitry is available at a low cost.Monitor cable 212 is a standard type cable typically used on VGA displaydevices and comprises up to 15 electrical conductors interfacing withmonitor 175 in a D-series shell connector. In one embodiment, fullmulti-media sourcing and directing of audio/video/data (A/V/D) broadcastis provided for.

Information handling system 100 may include a tuner 214, tunercircuitry, or card capable of both tuning to multiple channels andreceiving television information or signals in the form of the NTSC(National Television Standards Committee) or PAL (Phase Alteration Line)forms from any medium such as from a cable system or from a digitalsatellite system. One embodiment of the signal on cable 209 fromsatellite dish 206 provides digital A/V/D signals from such sources asDirecTV or Primestar (DirecTV and Primestar are trademarks of theirrespective companies). In another such embodiment, the signal on cable209 provides analog A/V such as NTSC (National Television SystemsCommittee) antenna signals. In another such embodiment, the signal oncable 218 from camera 221 provides analog A/V such as NTSC audio/videosignals. In further embodiments, the signal on cable 224 from cable-datasource 227 provides analog and/or digital AJV/D. In further suchembodiments, the signal on cable 230 from PSTN (Public SwitchedTelephone Network) 233 provides data or phone signals such as ISDN(integrated services digital network) or POTS (plain old telephonesystem) signals. In one set of such embodiments, system 100 isprogrammed to automatically record analog signals such as televisionprogramming onto recordable media such as a video tape in VCR 236coupled to cable 239. In another such set of embodiments, system 100 isprogrammed to automatically record digital signals such as digitaltelevision programming or CD-ROM (Compact Disk—Read Only Memory) typeaudio onto recordable media such as recordable compact disks in CD/DVDjukebox 242 coupled to cable 245. CD/DVD jukebox 242 also plays CDs,CD-ROMs, or DVD-ROMs for use elsewhere. In another such embodiment,signals are sent to stereo surround sound system 248 for audio output toone or more speakers 155, and on cable 251 to TV 254. In one suchembodiment, earphones 257 on cable 260 and gamepad 263 on cable 266provide additional input/output through remote control 145. Home network269 is “smart wiring” used to transmit data and control within the home,coupled by cable 272 to system 100. Videoblaster 275 provides videosignal processing on cable/connector 278. Cables 224, 209, 230, 218,251, 239, 278, 245, 260, and 266 are examples of communication cablesthat may be wired coupling or wireless, such as RF or IR.

One example of convergence system 200 is the Destination System usingthe DestiVu user interface manufactured and sold by Gateway 2000, Inc.In this manner, convergence system 200 is a fully functional computerintegrated with a television providing TV viewing (via broadcast, cable,satellite, VCR, digital disk, or other broadcast media) and personalcomputing functionality. This convergence of computer and televisionenables a user the combined access to both television programs andinformation as well as computer related functionality such as computerinformation and programs and Internet access.

Although many of today's televisions employ much of the same hardwareresources employed by computers such as information handling system 100,it is possible that the present invention might be practiced in otherelectronic devices or in networked electronic devices. For example, withthe development of audio/video networking such as the recently proposedHAVi standard, television sets or other audio/video devices such asaudio/video receivers and VCRs that do not themselves contain suchresources could implement the present invention by utilizing theresources of other devices on a network.

Referring next to FIG. 3, a detail of an operating system's graphicaluser interface, or GUI, as is typically displayed on monitor 175 inaccordance with the present invention is illustrated. Reference numeralsor letters in FIG. 3 which are like, similar, or identical to thereference numerals or letters of FIGS. 1-2 indicate like, similar, oridentical components or features. The operating system shown in FIG. 3is IBM's OS/2 (OS/2 is a trademark of International Business MachinesCorporation). However, the present invention will work with DestiVu,Windows 98, Windows 95 (DestiVu is a trademark of Gateway 2000 Inc. andWindows 98 and Windows 95 are trademarks of Microsoft Corporation), orany other graphical user interface. This GUI includes cursor 300,desktop 305, three icons 310, a first window and a second window, 315and 320 respectively, and dialog box 325, all of which are well known inthe art. Dialog box 325 further contains a first button and a secondbutton, 330 and 335 respectively. Programs are represented by thegraphical user interface as either icons 310 or windows 315 and 320. Thehorizontal region along the top of the first window 315 is the firsttitle bar 340 and the along the top of the second window 320 is thesecond title bar 345. The program windows 315 and 320 are the “focus”when they have been designated by a user or by an operating system toreceive input from the keyboard 145 or mouse 150. In OS/2®, the usergives the window focus by clicking a mouse button 180 or 185 when cursor300 is inside that window. Some operating systems, however, give awindow the focus merely whenever cursor 300 is present within thatwindow. The operating system indicates which program has the focus bychanging the color of the focused window's title bar 340 or 345.

Now that an environment to practice the present invention has beendescribed, a further explanation of commands used within system 100/200must be conveyed. In the preferred embodiment, commands are used tocarry out specific functions defined within system 100/200. As a trivialexample, the arrow keys located on keyboard 145 allow a user to movecursor 300 within a window located on desktop 305. A complex examplewould be to perform a search of system 100/200 for all files containinga specific textual string of characters. Some users tend to performsequences of commands in a habitual manner, thus warranting the need torecord the sequence of commands and store them in a macro, whereinmacros and macro recording are well known in the art. In a preferredembodiment, a sequence of commands is recorded as a macro and macroelements are used to access the recorded sequence of commands. The macroelement therefore, serves as a means by which the sequence of commandsmay be accessed for execution. Macro elements reside within system100/200 as hard keys and soft keys, wherein a hard key is a hardware keylocated on a device such as remote control device 215, keyboard 145, ormouse 150, etc., and wherein a soft key is a software produced macro keysuch as a macro button, icon, name, etc. Thus, by creating macros, userseliminate having to perform the same set of rudimentary commands.

In a preferred embodiment, a macro contains commands initiated by aremote control device such as remote 215 and commands initiated by anyuser interface within system 100/200 (i.e., remote control functions,keyboard functions, mouse functions, graphical, user interface commandfunctions, etc.). Further, the macro element for accessing the recordedmacro may be any of the above mentioned macro elements (i.e., hard keys,soft keys, icons, names, etc.). For example, a user can define a macroelement on remote control device 215 to perform the functions oflaunching a web browser, selecting a domain within the web browser,launching an Electronic Program Guide displaying a list of all currentlyairing PG rated programs, and turning on CD Jukebox 242 and selecting anassortment of jazz tracks to be played randomly. Upon a user recording amacro and assigning a macro element to the recorded macro, each of thesecommands would be performed when the user depresses the macro key onremote control device 215.

In another embodiment of the present invention, system 100/200 may beconfigured to allow access to Home Network 269, thus allowing a user tofurther reduce rudimentary tasks. For example, the present inventionwould allow a user to create a macro to perform several tasks such astasks performed when first arriving home. These tasks may includeturning on selected lights within the home, turning on the TV with thevolume being muted, launching a web browser, checking e-mail, andplaying back all newly received voice-mail messages. Therefore, thepresent invention enables a user to perform any sequence of commands,regardless of the source of the commands, with the single activation ofany macro element available to system 100/200. The following figuresfurther describe the details in implementing the present invention.

Referring now to FIG. 4, an illustration of a remote control device anda graphical user interface according to the preferred embodiment isshown, wherein reference numerals or letters in FIG. 4 which are like,similar, or identical to the reference numerals or letters in FIGS. 1-3indicate like, similar, or identical components or features. Remotecontrol device 215 is typically an infrared (IR) communications deviceused to communicate with system 100/200. Remote control device 215traditionally would be used as an interface between a television, VCR,stereo, etc., facilitating access to a plurality of commands bydepressing any combination of buttons or keys on remote control device215. In a preferred embodiment, remote control device 215 allows theuser access to all components contained within convergence system100/200, to perform commands forthcoming of all components within thesystem (i.e., TV, VCR, PC, stereo, etc.). Remote control device 215contains buttons such as a numbered keypad 401, a power key 402, avolume control key 405, a channel selection key 406, and additional keys407, to access the plurality of components within system 100/200. In apreferred embodiment, remote control device 215 contains macro keys 404used to access macros that have been recorded using system 100/200.

Also illustrated in FIG. 4, is a graphical user interface 450 containinga control panel 451 with source buttons 452, function buttons 454, and aseries of macro elements depicted by macro buttons 453. Macro buttons453 are used to access macros stored within system 100/200 wherein, asmentioned above, the recorded macro may be generated from anycombination of input command sources.

Referring next to FIG. 5, an illustration of a method according to apreferred embodiment is shown, wherein reference numerals or letters inFIG. 5 which are like, similar, or identical to the reference numeralsor letters in FIGS. 1-4 indicate like, similar, or identical componentsor features. The method begins at Step 500 when a user elects to definea macro. The method then proceeds to Step 501 where an on-screen displayis displayed by display device 175 informing the user that a macro isbeing recorded. The method then proceeds to Step 502 where the userselects or generates a mixed sequence of on-screen display functions,remote control event functions, mouse event functions, and/or keyboardevent functions, as the commands to be recorded. In a preferredembodiment of the present invention, a time delay may also be consideredas a macro command. For example, if a user inputs a sequence of commandsand one of the commands requires establishing communications betweendevices, a time delay may be recorded as part of the sequence ofcommands. One such example would be a computer “synching-up” with aperipheral device before recording further commands to be performed inassociation with the peripheral device. Commands and recording commandsas macros are well established in the art.

In a preferred embodiment of the present invention, at any point if theuser depresses the escape key located on keyboard 145, the methodproceeds to Step 503 where the macro recording is halted and a messageis displayed asking the user if they would like to cancel the “DefineMacro” command. If the user elects to cancel the “Define Macro” command,the method proceeds to exit at Step 504. However, if the user elects tocontinue recording the macro, the method returns to Step 502 where thesequence of commands are input to system 100/200.

The method then proceeds to Step 505 where the user selects the “StopDefining” macro command and subsequently to Step 506 where an on-screendisplay prompts the user to select a type of macro element. Macroelements include interface elements such as hard macro keys 404 onremote control device 215 or soft macro keys such as macro buttons 453on GUI 450. The method then proceeds to Step 507 where the user selectsthe desired macro key to be defined. Conversely, at Step 507 the usermay depress the escape key on keyboard 145 to be prompted with an optionto cancel the “Define Macro” command at Step 508 and further exit themethod at Step 509. At Step 507, upon the user selecting a macro key,the method proceeds to Step 510 where the user is prompted to confirmthe redefinition of the selected macro key selected in Step 507. If theuser denies confirmation of defining the macro key, the method proceedsto Step 511 where the method exits. Conversely, if the user confirmsdefining the macro key, the method proceeds to Step 512 where thesequence of commands are stored as a macro and a macro element isdefined in association with the stored macro. The method then proceedsto step 513 where it exits.

Referring now to FIG. 6, an illustration of an alternative methodaccording to a preferred embodiment is shown, wherein reference numeralsor letters in FIG. 6 which are like, similar, or identical to thereference numerals or letters in FIGS. 1-5 indicate like, similar, oridentical components or features. The method shown in FIG. 6 is analternate embodiment of the present invention where a sequence ofcommands inputted into system 100/200 is automatically detected bysystem 100/200, and the user is prompted to define a macro and assign amacro element (i.e., hard key, soft key, macro button, etc.) to thedetected sequence of commands. The method is performed by a userentering valid commands from any command source utilized within system100/200. The sequence of commands are monitored by the system andcompared to a user command sequence database for uniqueness. Saidanother way, the sequence of commands is compared to all the othersequence of commands that exist within system 100/200 and, uponidentifying a unique sequence of commands, the user will be prompted todefine a macro for the new sequence of commands. This is accomplished byhaving the process retrieve a threshold for macro definition, where thethreshold is the number of times the unique sequence of commands must beinput to system 100/200 before being able to be defined by the system.In other words, the threshold serves as the minimal number of times thatthe sequence of commands must be input to system 100/200 before the useris prompted to define a macro. In another embodiment of theabove-described method, the threshold may be redefined upon new macrosbeing added. For example, if a macro is added for a command sequencethat was repeated six times and the previous threshold was five, thethreshold would be increased to six. In another embodiment, the methodwould also perform a cost-benefit analysis to determine the efficiencyof the sequence of commands prior to recording the sequence of commands.For example, if a sequence of commands was going to require a user todepress three macro keys in addition to the macro key that the userwould be defining, the complexity of the macro would not be great enoughto warrant assigning a macro and macro element to the sequence ofcommands. All in all, upon the method identifying a command sequence tobe recorded, the user is prompted to define the macro and assign themacro to a macro element.

FIG. 6 further illustrates the details for implementing the abovedescribed embodiments of the present invention. The process flow beginsat 699 at Enter. In Step 600, a command is inputted into system 100/200and validated. If a valid command is entered, the method proceeds tostep 601 where the command is recorded and stored in User CommandSequence Database 602. The method then proceeds to step 603 to identifywhen command monitoring ends. Accordingly at step 600, if the userinputs an invalid command the method proceeds to the Command MonitoringEnds step 603. Command Monitoring continues until the user invokes anappropriate event such as terminating a command-centric user interface.Command monitoring would also be terminated if a command is not input tosystem 100/200 for an elapsed period of time. Upon terminating CommandMonitoring, the method proceeds to step 604 where the input sequence isretrieved from User Command Sequence Database 602 and compared withpreviously recorded input command sequences. If the input commandsequence is identified, a counter associated with the identified commandsequence is incremented. The method then proceeds to step 605 where athreshold 606 for macro definition (i.e., repeated three times, etc.) isretrieved. The method then proceeds to step 608 where it determines ifthe command sequence has been repeated more than the threshold obtainedin step 605. If the threshold has not been exceeded, the method exits atstep 608. However, if the command sequence has been repeated more thanthe threshold, the method proceeds to step 609 where an optionalcost-benefit analysis is performed. The cost-benefit analysis involvesdetermining if the complexity of the sequence of commands warrantsassigning a macro. If a macro definition is not warranted, the methodproceeds to exit at step 609. If it is determined that the user wouldbenefit by defining a macro for the command sequence, the methodproceeds to step 610 where the user is prompted to define a macro forthe detected sequence of commands. The method ends at step 610 afterdefining the macro or, in another embodiment, proceeds to optionalblocks 607 where the threshold level is redefined. For example, if theuser repeated the sequence of commands six times before defining a macrofor the detected sequence, the method would compare the currentthreshold level obtained from 606 to the number of times the sequencewas repeated. The method would then adjust the threshold to a new valueand store the threshold value in Threshold database 606. The methodwould then exit accordingly.

In one embodiment of the present invention, system 100/200 contains acommand processor to process commands inputted from different sources,where a command processor is a system program that accepts user commandsand converts them into machine commands required by the operatingsystem, control program, or application. In another embodiment,additional sources for commands and macros may be realized withoutdeparting from the true spirit of the invention. One such embodiment,for example, would include processing speech commands to activate macroswherein the system would contain an interactive voice program capable ofconverting speech patterns into a format to be used by the system foraccessing macro commands. The program would first digitize the speechpattern and match the pattern against a dictionary of coded waveforms.Within the dictionary would be a list of recorded macro commands to beused by the present invention. For example, a user could record a macrodefined by the speech pattern “I'm Home” wherein the macro would performthe previously mentioned commands of turning on selected lights in thehome, turning on the TV, playing back newly recorded voice mailmessages, etc.

In conclusion, the present invention provides a signal, software,graphical user interface, system, and method to select a sequence ofcommands from a remote control input device and to further selectadditional commands from other user interfaces such as a graphical userinterface, keyboard, mouse, etc., to be recorded and assigned to anyuser interface element available to the system. User interface elementsmay be assigned from any input source available to the system such asgraphical user interface elements like macro buttons, icons, names,etc., or other elements such as keys on remote control devices,Keyboards, etc. In one embodiment of the present invention, a user maybe asked to specify a macro element prior to recording the macro. Thepresent invention also monitors the sequence of remote control and userinterface commands and identifies a sequence of commands. Further, thesequence of commands are compared to a predetermined acceptancecriteria, such as uniqueness, threshold, and/or efficiency, and uponmeeting or exceeding the criteria, the user is prompted to assign thesequence of commands to a user interface element (i.e., hard key, softkey, icons, buttons, etc.).

Although an embodiment of the present invention has been shown anddescribed in detail herein along with certain variants thereof, manyother varied embodiments that incorporate the teachings of the inventionmay be easily constructed by those skilled in the art. Accordingly, thepresent invention is not intended to be limited to the specific form setforth herein, but on the contrary, it is intended to cover suchalternatives, modifications, and equivalents, as can be reasonablyincluded within the spirit and scope of the invention.

Although the invention has been described with a certain degree ofparticularity, it should be recognized that elements thereof may bealtered by persons skilled in the art without departing from the spiritand scope of the invention. One of the preferred implementations of theinvention is as sets of instructions resident in the random accessmemory 115 of one or more computer or information handling systemsconfigured generally as described in FIGS. 1-6. Until required by thecomputer system, the set of instructions may be stored in anothercomputer readable memory, for example, in a hard disk drive or in aremovable memory such as an optical disk for eventual use in a CD-ROMdrive or a floppy disk for eventual use in a floppy disk drive. Further,the set of instructions can be stored in the memory of another computeror encoded or embodied in a signal, such as an analog or digital signal,embodied in a propagation medium and transmitted over the propagationmedium by a user. The propagation medium may include a local areanetwork or a wide area network, such as the Internet, or otherpropagation medium. One skilled in the art would appreciate that thephysical storage or encoding of the sets of instructions physicallychanges the medium upon which it is stored or encoded electrically,magnetically, or chemically so that the medium carries computer readableinstructions and other information. The invention is limited only by thefollowing claims and their equivalents.

What is claimed is:
 1. A method in a convergence system using commands,said method comprising: selecting, from a plurality of user interfacesactive within the system, a sequence of at least one command associatedwith a remote control input device for carrying out a preselected remotecontrol function defined within the system and at least one commandassociated with a user interface input device within the system otherthan a remote control input device for carrying out a preselected userinterface control function defined within the system; and assigning thesequence of commands to a user interface element.
 2. The method, asrecited in claim 1, wherein the user interface element is a graphicaluser interface element.
 3. The method, as recited in claim 1, whereinthe user interface element is an input device element.
 4. The method, asrecited in claim 1, wherein the user interface command is a graphicaluser interface command.
 5. The method, as recited in claim 1, whereinsaid selecting step includes selecting the commands from an inputsource.
 6. The method, as recited in claim 1, further comprisingmonitoring the selection of the sequence of remote device control anduser interface commands.
 7. The method, as recited in claim 6, furthercomprising identifying the sequence of commands from said monitoringstep which meets or exceeds a predetermined acceptance criteria.
 8. Themethod, as recited in claim 1, wherein said assigning step includesprompting a user to assign the sequence of commands to the at least oneuser interface element if the sequence of commands meets or exceeds apredetermined acceptance criteria.
 9. The method according to claim 1,wherein the at least one command associated with a remote control inputdevice originates from the remote control input device, and the at leastone command associated with a user interface input device originatesfrom the user interface input device.
 10. The method according to claim1, wherein the user interface input device is a general purposeprogrammable computer having a RAM, a user input device, and a graphicaluser interface.
 11. The method according to claim 10, wherein the userinterface control function is a user input command associated with theuser input device for controlling the graphical user interface.
 12. Themethod according to claim 11, wherein the user input device is akeyboard, a keypad, or a mouse.
 13. The method according to claim 10,wherein the user interface control function is a search of the computerfor information.
 14. The method according to claim 10, wherein the userinterface control function is a source selector or a function selector.15. The method according to claim 1, wherein the command associated withthe user interface input device comprises a plurality of commands. 16.The method according to claim 1, wherein the user interface input deviceis a general purpose programmable computer having a RAM, a user inputdevice, and a graphical user interface, the user interface controlfunction being a user input command associated with the user inputdevice for controlling the graphical user interface, and the user inputdevice being a keyboard, a keypad, or a mouse.
 17. A convergence systemcomprising: at least one processor; memory operably associated with saidprocessor; a plurality of user interfaces active within the system,including: at least one remote control device for carrying out apreselected remote control function defined within the system; and atleast one user interface other than a remote control input device, theat least one user interface being configured to carry out a preselecteduser interface control function defined within the system; a program ofinstructions configured to be executed by said processor and stored insaid memory, said program including instructions configured to: select asequence of at least one command associated with the remote controlinput device and at least one command associated with the user interfaceinput device; and assign the sequence of commands to a user interfaceelement.
 18. The system, as recited in claim 17, wherein the userinterface element is a graphical user interface element.
 19. The system,as recited in claim 17, wherein the user interface element is an inputdevice element.
 20. The system, as recited in claim 17, wherein the userinterface command is a graphical user interface command.
 21. The system,as recited in claim 17, wherein said select includes selecting thecommands form an input source.
 22. The system, as recited in claim 17,further comprises monitoring the selection of the sequence of remotedevice control and user interface commands.
 23. The system, as recitedin claim 22, further comprises identify the sequence of commands from aaid monitor which meets or exceeds a predetermined acceptance criteria.24. The system, as recited in claim 17, wherein said assigning includesprompting a user to assign the sequence of commands to the at least oneuser interface element if the sequence of commands meets or exceeds apredetermined acceptance criteria.
 25. The convergence system accordingto claim 17, wherein the at least one command associated with the remotecontrol input device originates from the remote control input device,and the at least one command associated with the user interface inputdevice originates from the user interface input device.
 26. A graphicaluser interface (GUT) comprising: means for selecting, from a pluralityof user interfaces active within a convergence system, a sequence of atleast one command associated with a remote control input device forcarrying out a preselected remote control function defined within thesystem and at least one command associated with a user interface inputdevice within the system other than a remote control input device forcarrying out a preselected user interface control function definedwithin the system; and means for assigning the sequence of commands to auser interface element.
 27. The GUI, as recited in claim 25, wherein theuser interface element is an input device element.
 28. The graphicaluser interface (GUI) according to claim 26, wherein the at least onecommand associated with a remote control input device originates fromthe remote control input device, and the at least one command associatedwith a user interface input device originates from the user interfaceinput device.
 29. A computer readable medium tangibly embodying aprogram of instructions, the program of instructions implementing themethod of: selecting, from a plurality of user interfaces active withina convergence system, a sequence of at least one command associated witha remote control input device for carrying out a preselected remotecontrol function defined within the system and at least one commandassociated with a user interface input device within the system otherthan a remote control input device for carrying out a preselected userinterface control function defined within the system; and assigning thesequence of commands to a user interface element.
 30. The computerreadable medium, as recited in claim 29, wherein the user interfaceelement is a graphical user interface element.
 31. The computer readablemedium, as recited in claim 29, wherein the user interface element is aninput deice element is an input device element.
 32. The computerreadable medium, as recited in claim 29, further comprising monitoringthe selection of the sequence of remove device control and userinterface commands.
 33. The computer readable medium, as recited inclaim 32, further comprising identifying the sequence of commands fromthe monitoring step which meets or exceeds a predetermined acceptancecriteria.
 34. The computer readable medium, as recited in claim 29,wherein the assigning step includes prompting a user to assign thesequence of commands to the at least one user interface element if thesequence of commands meets or exceeds a predetermined acceptancecriteria.
 35. The computer readable medium according to claim 29,wherein the at least one command associated with a remote control inputdevice originates from the remote control input device, and the at leastone command associated with a user interface input device originatesfrom the user interface input device.
 36. A signal embodied in apropagation medium, said signal comprising: at least one instructionconfigured to select, from a plurality of user interfaces active withina convergence system, a sequence of at least one command associated witha remote control input device for carrying out a preselected remotecontrol function defined within the system and at least one commandassociated with a user interface input device within the system otherthan a remote control input device for carrying out a preselected userinterface control function defined within the system; and at least oneinstruction configured to assign the sequence of commands to a userinterface element.
 37. The signal, as recited in claim 36, wherein theuser interface element is a graphical user interface element.
 38. Thesignal, as recited in claim 36, wherein the user interface element is aninput device element.
 39. The signal embodied in a propagation mediumaccording to claim 38, wherein the at least one command associated witha remote control input device originates from the remote control inputdevice, and the at least one command associated with a user interfaceinput device originates from the user interface input device.